﻿using System;
using System.Web.UI;
using BUS;

public partial class ProductDetails : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["id"] == null)
        {
            Response.Redirect("~/Default.aspx");

        }
        else
        {
            DisplayInfoProduct();
        }
    }

    private void DisplayInfoProduct()
    {
        var sp = SanPhamBUS.GetSanphamByID(Convert.ToInt32(Request.QueryString["id"]));
        if (sp == null)
        {
            lblName.Text = "Không tìm thấy sản phẩm";
            return;
        }
        
        if (sp.SoTon <= 0)
        {
            lblPrice.Text = "Hết hàng";
            Button1.Visible = false;
            txtSoLuong.Visible = false;
        }
        else
            lblPrice.Text = sp.strGia;

        lblPic.ImageUrl = sp.Anh;
        lblName.Text = sp.TenSanPham;
        lblCateName.Text = sp.TenLoaiSanPham;
        lblDes.Text = sp.MoTa;
        Page.Title = sp.TenSanPham;
        lblWarranty.Text = sp.BaoHanh;
        lblSoTon.Text = sp.SoTon.ToString();

        ViewState["cateid"] = sp.LoaiSanPham.ID;
        ViewState["SoTon"] = sp.SoTon;


    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        var sl = Int32.Parse(txtSoLuong.Text);
        var id = Convert.ToInt32(Request.QueryString["id"]);
        var soton = (int)ViewState["SoTon"];

        if (sl == 0)
        {
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Alert", "alert('Số lượng đặt mua sản phẩm chưa có !!!');", true);
            txtSoLuong.Text = "1";
            return;
        }
        if (sl > soton)
        {
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Alert", "alert('Chỉ có thể đặt hàng tối đa " + sl + " sản phẩm  !!!');", true);
            txtSoLuong.Text = soton.ToString();
            return;
        }

        var basket = new Basket();
        basket.AddItem(id, sl);
        Response.Redirect("~/ShoppingCart.aspx");

    }
    protected void DataPager1_PreRender(object sender, EventArgs e)
    {
        if (ViewState["cateid"] != null)
        {
            var cateID = (int)ViewState["cateid"];
            var idpro = Convert.ToInt16(Request.QueryString["id"]);
            var pro = SanPhamBUS.GetSanphamByID(idpro);

            var listSameProducts = SanPhamBUS.GetByLoaiSanPham(cateID);
            listSameProducts.Remove(pro);
            lvSamePros.DataSource = listSameProducts;
            lvSamePros.DataBind();
        }
    }
}
